The technology described herein relates to graphics processing systems and in particular to methods of and apparatus for identifying primitives and vertices to be rendered when rendering an output in a graphics processing system.
Computer graphics systems typically render frames, e.g. for display, by processing so-called primitives, which are usually simple polygons such as triangles. The primitives for a frame will usually be listed in the order that they are to be rendered, and each primitive will have associated with it a set of vertices which are referred to by their index in an associated vertex array. Thus, the graphics processing system will typically receive a sequence of primitives to be rendered, and will process the primitives in turn to generate the output frame. A given frame to be rendered may contain tens of thousands of primitives.
One issue with graphics processing is that some primitives defined for a frame may in fact not be visible in the final output because, e.g. they fall outside the view frustum. It is known therefore to try to identify such primitives before a frame is rendered, so as to avoid processing those primitives.
However, the Applicants have now recognised that although such techniques can be used to avoid processing primitives that fall outside the view frustum, in practice such techniques may not reduce significantly the number of vertices that are processed (e.g. because the vertex processing is performed on all the vertices in the vertex array). Such vertex processing can be a significant burden, and while this may not be such an issue in more powerful desktop systems that have significant bandwidth resources, the Applicants have recognised that it would be advantageous to try to reduce the amount of vertex processing that is done, particularly in graphics processing systems for lower powered and portable devices that may have more constrained bandwidth and processing resources.
The Applicants believe therefore that there remains scope for improved methods of and apparatus for identifying primitives and vertices to be rendered in graphics processing systems.
Like reference numerals are used for like components where appropriate in the drawings.